// 创建收藏reducer模块的数据及方法
// state定义初始值；action：接收传入的动作类型，和 参数
function collectionList( state=[],action={type:'',payload:null}){
    // 先将state进行深拷贝
    let newState = JSON.parse(JSON.stringify(state))
    // 对传入的动作类型进行判断
    switch( action.type){
        // 收藏
        case "PUSH" :
            newState.push(action.payload)
            return newState;
        // 取消收藏
        case "CANCEL" :
            let ind = newState.findIndex((item)=>{
                return item.id == action.payload.id
            })
            if(ind != -1){
                newState.splice(ind,1)
            }
            return newState;
        // state中数据没有变化，返回旧数据；如果发生变化，必须返回新数据 
        default : return state;
    }
}
// 导出收藏reducer模块
export default collectionList 